#include <stdio.h>
#include <string.h>

int main1()
{
    // 定义字符数组
    //以‘\0’(‘\0’就是数字0)结尾的字符数组是字符串
    // 数组是指定长度未超过会自动补0
    char c2[10] = {'c', ' ', 'p', 'r', 'o', 'g'};
    printf("c2 = %s\n", c2);

    //字符串处理以‘\0’(数字0)作为结束符，后面的'h', 'l', 'l', 'e', 'o'不会输出
    char c3[] = {'c', ' ', 'p', 'r', 'o', 'g', '\0', 'h', 'l', 'l', 'e', 'o', '\0'};
    printf("c3 = %s\n", c3);
    printf("%d", sizeof(c3));

    //使用字符串初始化，编译器自动在后面补0，常用
    char buf8[] = "agjdslgjlsdjg";
    printf("buf8 = %s\n", buf8);
    printf("%d", sizeof(buf8));

    //定义字符数组存储字符串
    char ch[11];
    // 只有前10输入有效
    scanf("%10s", ch);
    printf("%s", ch);
    return 0;
}

int main()
{
    //1.gets(str)允许输入的字符串含有空格
    //2.fgets()在读取一个用户通过键盘输入的字符串的时候，
    // 同时把用户输入的回车也做为字符串的一部分。
    //3.puts()在输出完成后自动输出一个'\n'。
    //4.fputs()没有'\n'
    //5.strlen()计算指定指定字符串s的长度，不包含字符串结束符‘\0’

    /*fgets(char *s, int size, FILE *stream);
    s：字符串
	size：指定最大读取字符串的长度（size - 1）
	stream：文件指针，如果读键盘输入的字符串，固定写为stdin
    */
    // char ch1[10];
    // fgets(ch1, sizeof(ch1), stdin);
    // printf("%s", ch1);
    char ch[] = "hello world";
    printf("数组大小：%d\n", sizeof(ch));
    printf("字符串长度：%d", strlen(ch));

    return 0;
}